.toc {
  width: 100%;
  max-width: calcSideWidth();
  position: fixed;
  top: 7rem;
  font-size: 0.85rem;
  padding-left: 0.5rem;
  z-index: z('toc');
  
  #toc {
    position: relative;
  }

  &__flexbox[data-position="fixed"] {
    @include flexbox();
    @include align-items(center);
    position: fixed;
  }

  &__flexbox[data-position="absolute"] {
    @include flexbox();
    @include align-items(center);
    position: absolute;
  }

  &__title {
    font-size: 0.9rem;
    margin-top: 0.5rem;
    @include themify($themes) {
      color: themed('toc-label-color');
    }
  }

  a {
    color: inherit;     
    position: relative;
    &::before {
      @include themify($themes) {        
        background-color: themed('toc-vertical-line');
      }      
      content: '';
      height: 100%;
      left: -1rem;
      margin-top: -1px;
      position: absolute;
      width: 2px;            
      &:last-child {
        background-color: transparent;
      }
    }    
  }

  ul {
    @include themify($themes) {
      li {        
        li {
          margin-left: 1rem;
          color: themed('sidebar-li-color');      
        }  
      }
      
      a {
        color: themed('toc-title-color');        
        &.active {
          color: themed('toc-vertical-line-active');
        }
      }
    }
  }

  .active {
    @include themify($themes) {
      color: themed('link-hover');
      font-weight: 700;
      &::before {        
        background-color: themed('toc-vertical-line-active');
      }
    }
  }
}
